home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-08-02 | 2.2 KB | 128 lines | [TEXT/KAHL] |
- #include "CDRVRTable.h"
- #include "CDRVRArray.h"
-
- void CDRVRTable::GetCellText( Cell aCell, short availableWidth, StringPtr itsText)
- {
- ASSERT( member( itsArray, CDRVRArray));
-
- if (itsArray)
- {
- int strlen(char *),sprintf(void *,char *,...);
- char mybuf[256];
- struct nlist newlist,*sym = &newlist;
- itsArray->GetItem( &newlist, aCell.v+1);
- if (sym->n_type & ~N_EXT || sym->n_value)
- sprintf (mybuf+1,"%08x ", sym->n_value);
- else sprintf (mybuf+1,"-------- ");
- switch (sym->n_type)
- {
- case N_EXT:
- if (sym->n_value) sprintf (mybuf+10,"C");
- else sprintf (mybuf+10,"U");
- break;
-
- case 0:
- if (sym->n_value) sprintf (mybuf+10,"c");
- else sprintf (mybuf+10,"u");
- break;
-
- case N_ABS | N_EXT:
- sprintf (mybuf+10,"A");
- break;
-
- case N_ABS:
- sprintf (mybuf+10,"a");
- break;
-
- case N_TEXT | N_EXT:
- sprintf (mybuf+10,"T");
- break;
-
- case N_TEXT:
- sprintf (mybuf+10,"t");
- break;
-
- case N_DATA | N_EXT:
- sprintf (mybuf+10,"D");
- break;
-
- case N_DATA:
- sprintf (mybuf+10,"d");
- break;
-
- case N_BSS | N_EXT:
- sprintf (mybuf+10,"B");
- break;
-
- case N_BSS:
- sprintf (mybuf+10,"b");
- break;
- /*
- case N_SETV | N_EXT:
- sprintf (mybuf+10,"V");
- break;
-
- case N_SETV:
- sprintf (mybuf+10,"v");
- break;
-
- case N_SETA | N_EXT:
- sprintf (mybuf+10,"L");
- break;
-
- case N_SETA:
- sprintf (mybuf+10,"l");
- break;
-
- case N_SETT | N_EXT:
- sprintf (mybuf+10,"X");
- break;
-
- case N_SETT:
- sprintf (mybuf+10,"x");
- break;
-
- case N_SETD | N_EXT:
- sprintf (mybuf+10,"Z");
- break;
-
- case N_SETD:
- sprintf (mybuf+10,"z");
- break;
-
- case N_SETB | N_EXT:
- sprintf (mybuf+10,"S");
- break;
-
- case N_SETB:
- sprintf (mybuf+10,"s");
- break;
-
- case N_INDR | N_EXT:
- sprintf (mybuf+10,"I");
- break;
-
- case N_INDR:
- sprintf (mybuf+10,"i");
- break;
-
- case N_WARNING | N_EXT:
- sprintf (mybuf+10,"W");
- break;
-
- case N_WARNING:
- sprintf (mybuf+10,"w");
- break;
- */
- }
-
- sprintf(mybuf+11," %s", newlist.n_un.n_name);
- *mybuf = strlen(mybuf+1)+1;
-
- if (*mybuf > availableWidth) *mybuf = availableWidth;
- BlockMove(mybuf, itsText, 1+*mybuf);
- }
-
- } /* CDRVRTable::GetCellText */
-
-